<%@page import="java.util.*"%>
<%
  if (request.getParameter("idCarpeta") == null && request.getParameter("idConjunto") == null) {
    session.removeAttribute("CONJUNTOS_ACTUALES");
    session.removeAttribute("NOMBRES_CONJUNTOS");
  }
  else {
    if (request.getParameter("idConjunto") != null && request.getParameter("idCarpeta") == null) {
      String conjunto = request.getParameterValues("idConjunto")[request.getParameterValues("idConjunto").length - 1];
      if (session.getAttribute("CONJUNTOS_ACTUALES") == null) {
        session.setAttribute("CONJUNTOS_ACTUALES", "[" + conjunto + "," + request.getParameter("nombreConjunto") + "]");
        session.setAttribute("NOMBRES_CONJUNTOS", request.getParameter("nombreConjunto"));
      }
      else {
        session.setAttribute("CONJUNTOS_ACTUALES", session.getAttribute("CONJUNTOS_ACTUALES") + ", [" + conjunto + "," + request.getParameter("nombreConjunto") + "]");
        session.setAttribute("NOMBRES_CONJUNTOS", session.getAttribute("NOMBRES_CONJUNTOS") + ", " + request.getParameter("nombreConjunto"));
      }
    }
  }
  String asignar = request.getParameter("asignar");
%>

<%@page import="org.humboldt.cassia.core.jdo.Usuario"%>
<%@page import="siac.metadatos.util.ArbolCarpetas"%>
<%@page import="siac.metadatos.util.SessionUtil"%>
<%@page import="siac.metadatos.util.CarpetasTematicas"%>
<%@page import="siac.metadatos.dto.CarpetaTematica"%>
<%@page import="siac.metadatos.logica.Constantes"%><html>
<head></head>
<body>
<table width="30%" border="0" cellpadding="0" cellspacing="0">
  <!-- ARBOL-->
<%
  CarpetasTematicas carpetasTem = new CarpetasTematicas();
  String editarCarpeta = request.getParameter("editarCarpeta");
  String asignarCarpeta = request.getParameter("asignarCarpeta");
  String idUsuario = request.getParameter("id");
  String strNombreUsr = request.getParameter("nombre");
  String idCarpeta = request.getParameter("idCarpeta");
  if (idCarpeta == null && request.getAttribute("idCarpeta") != null)
    idCarpeta = (String) request.getAttribute("idCarpeta");
  String idConjunto = request.getParameter("idConjunto");
  String idCarpetaEliminar = request.getParameter("idCarpetaEliminar");
  String idCarpetaEditar = request.getParameter("idCarpetaEditar");
  String jspTrabajando = "arbolConjuntos.jsp";
  //request.getParameter("jspTrabajando");
  ArbolCarpetas arbolIni = new ArbolCarpetas();
  org.humboldt.cassia.core.jdo.CarpetaTematica dtCarpeta = null;
  Vector vCarpetas = new Vector();
  Vector vIdCarpetasUsr = new Vector();
  try {
    if(request.getParameter("mostrarParcial") == null || request.getParameter("mostrarParcial").equalsIgnoreCase("null")){
    	Collection<org.humboldt.cassia.core.jdo.CarpetaTematica> cllCarpetas = SessionUtil.getFacadeConsultasConjuntosCassiaCore().consultarCarpetas(null, null);
    	if (cllCarpetas != null) {
    		vCarpetas = new Vector();
    		for (org.humboldt.cassia.core.jdo.CarpetaTematica carpetaTem: cllCarpetas) {
    			siac.metadatos.dto.CarpetaTematica dtCarpeta2 = new siac.metadatos.dto.CarpetaTematica();
    			dtCarpeta2.setIdCarpeta(new Long(carpetaTem.getId()).intValue());
    			dtCarpeta2.setDescripcionCarpeta(carpetaTem.getNombre());
    			if (carpetaTem.getCarpetaPadre() != null)
    				dtCarpeta2.setIdPadre(new Long(carpetaTem.getCarpetaPadre().getId()).intValue());
				dtCarpeta2.setTieneHijos(carpetasTem.carpetaTieneHijos(new Long(carpetaTem.getId()).intValue()));
    			dtCarpeta2.setTipoModulo(Constantes.MODULO_CARPETAS_TEMATICAS);
    			if (idCarpeta != null && carpetaTem.getId() == Long.parseLong(idCarpeta)) {
    				dtCarpeta2.setVHijos(carpetasTem.consultarHijos(dtCarpeta2.getIdCarpeta(), dtCarpeta2.getNivel()));
    			}
    			if (carpetaTem.getCarpetaPadre() == null)
    				vCarpetas.add(dtCarpeta2);
    		}
    	}
    }
    if (asignar != null && asignar.equalsIgnoreCase("True")) {
    	Usuario usuario = SessionUtil.getFacadeConsultasUsuarioCassiaCore().consultarUsuario(Long.parseLong(idUsuario));
    	Collection<org.humboldt.cassia.core.jdo.CarpetaTematica> cllCarpetas = SessionUtil.getFacadeConsultasConjuntosCassiaCore().consultarCarpetas(null, usuario);
    	Vector vCarpetasUsuario = new Vector();
    	if (cllCarpetas != null) {
    		for (org.humboldt.cassia.core.jdo.CarpetaTematica carpetaTem: cllCarpetas) {
    			vCarpetasUsuario.add(carpetaTem.getId());
    		}
    	}
      arbolIni.setVIdsCarpetasUsuario(vCarpetasUsuario);
      vIdCarpetasUsr = vCarpetasUsuario;
    }
  }
  catch (Exception e) {
    e.printStackTrace();
    String mensaje = e.getMessage();
  }
  ArbolCarpetas arbol;
  String strArbol = "";
  if (idCarpeta == null && (jspTrabajando == null || !jspTrabajando.equalsIgnoreCase("editarConjunto.jsp"))) {
    Vector vArbol = new Vector();
    arbol = new ArbolCarpetas();
    arbol.addParametroJSP("id", idUsuario);
    arbol.addParametroJSP("nombre", strNombreUsr);
    arbol.addParametroJSP("asignarCarpeta", asignarCarpeta);
    arbol.addParametroJSP("idConjunto", idConjunto);
    arbol.addParametroJSP("idCarpetaEliminar", idCarpetaEliminar);
    arbol.addParametroJSP("idCarpetaEditar", idCarpetaEditar);
    arbol.setStrPageHrefCarpeta(jspTrabajando);
    if (asignar != null && asignar.equalsIgnoreCase("True")) {
      arbol.setAccion(ArbolCarpetas.ASIGNAR);
      arbol.setVIdsCarpetasUsuario(vIdCarpetasUsr);
    }
    strArbol = arbol.dibujarArbol(vCarpetas, jspTrabajando);
  }
  else {
    Vector vArbol = new Vector();
    try {
		Vector vCarpetasRaiz = null;
		long idPadreRaizCarpeta = carpetasTem.consultarPadreRaiz(Integer.parseInt(idCarpeta));
		if (request.getParameter("mostrarParcial") == null || request.getParameter("mostrarParcial").equalsIgnoreCase("null")) {
			vCarpetasRaiz = carpetasTem.consultarListadoCarpetasPadre();
		} else {
			vCarpetasRaiz = carpetasTem.consultarListadoCarpetas(true, new Long(idPadreRaizCarpeta), null);
		}
		if (vCarpetasRaiz == null || vCarpetasRaiz.size() == 0) {
			vCarpetasRaiz = carpetasTem.consultarListadoCarpetas(true, new Long(idCarpeta), null);
		}
		for (int i = 0; i < vCarpetasRaiz.size(); i++) {
			CarpetaTematica dtCarpetaTem = (CarpetaTematica) vCarpetasRaiz.elementAt(i);
			if (dtCarpetaTem.getIdCarpeta() == idPadreRaizCarpeta) {
				if (Integer.parseInt(idCarpeta) == idPadreRaizCarpeta)
					dtCarpetaTem.setVHijos(carpetasTem.consultarHijos(dtCarpetaTem.getIdCarpeta(), dtCarpetaTem.getNivel()));
				else
					dtCarpetaTem.setVHijos(carpetasTem.consultarHijosSinHermanos(dtCarpetaTem.getIdCarpeta(), Integer.parseInt(idCarpeta),  dtCarpetaTem.getNivel()));
			} else {
				dtCarpetaTem.setTieneHijos(carpetasTem.carpetaTieneHijos(dtCarpetaTem.getIdCarpeta()));
				dtCarpetaTem.setVHijos(new Vector());
			}
			vCarpetas.addElement(dtCarpetaTem);
		}
      arbol = new ArbolCarpetas();
      arbol.addParametroJSP("id", idUsuario);
      arbol.addParametroJSP("nombre", strNombreUsr);
      arbol.addParametroJSP("asignarCarpeta", asignarCarpeta);
      arbol.addParametroJSP("idCarpetaEliminar", idCarpetaEliminar);
      arbol.addParametroJSP("idCarpetaEditar", idCarpetaEditar);
      arbol.addParametroJSP("idConjunto", idConjunto);
      arbol.setStrPageHrefCarpeta(jspTrabajando);
      if (asignar != null && asignar.equalsIgnoreCase("True")) {
        arbol.setAccion(ArbolCarpetas.ASIGNAR);
        arbol.setVIdsCarpetasUsuario(vIdCarpetasUsr);
      }
      strArbol = arbol.dibujarArbol(vCarpetas, jspTrabajando,request.getParameter("mostrarParcial"), 1);
    }
    catch (Exception e) {
      e.printStackTrace();
      String mensaje = e.getMessage();
    }
  }
%>
<tr><td><%=strArbol%></td></tr>
</table>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-1418857-1";
urchinTracker();
</script>
</body>
